const express = require('express');
const router = express.Router();

// 数据库配置文件
const db  = require('../mysql/index')
const bcrypt = require('bcrypt');
// 密码加密
const jm = require('bcryptjs')
let sql;
// 查询商品分类
router.get('/Admin/getShopList', (req, res) => {
    // 获取查询参数
    const data = req.query;
    const limit = parseInt(data.limit) || 9999; // 每页条数，默认为10
    const page = parseInt(data.page) || 1; // 当前页，默认为第1页
    const offset = (page - 1) * limit; // 计算偏移量

    // 构建SQL语句
    let sql = `
        SELECT *
        FROM shop_type
    `;

    let conditions = [];
    let values = [];

    // 遍历传递的参数，构建条件查询
    if (data) {
        Object.keys(data).forEach(key => {
            // 过滤掉分页的参数，如 limit 和 page
            if (key !== 'limit' && key !== 'page') {
                conditions.push(`o.${key} = ?`);
                values.push(data[key]);
            }
        });
    }

    // 如果有查询条件，则加上 WHERE 子句
    if (conditions.length > 0) {
        sql += ` WHERE ` + conditions.join(' AND ');
    }

    // 添加分页查询
    sql += ` LIMIT ? OFFSET ?`;
    values.push(limit, offset);

    // 执行查询
    db.query(sql, values, (err, result) => {
        if (err) {
            console.log(err);
            return res.send({ err }); // 查询异常返回报错
        }

        // 查询总记录数以便返回分页的总页数
        let countSql = `
            SELECT COUNT(*) AS total 
            FROM order_list o 
            LEFT JOIN source s ON o.source = s.id 
            LEFT JOIN shop_type st ON o.shopType_id = st.type
        `;
        if (conditions.length > 0) {
            countSql += ` WHERE ` + conditions.join(' AND ');
        }

        // 查询总数
        db.query(countSql, values.slice(0, -2), (countErr, countResult) => { // 切掉分页的 limit 和 offset 值
            if (countErr) {
                console.log(countErr);
                return res.send({ err: countErr });
            }

            const total = countResult[0].total; // 总记录数
            const totalPages = Math.ceil(total / limit); // 计算总页数

            // 返回数据，包括订单数据、当前页码、每页条数、总记录数和总页数
            res.cc({
                data: result, // 当前页的数据
                currentPage: page,
                pageSize: limit,
                count: total,
                totalPages: totalPages
            }, 1, "查询成功");
        });
    });
});




module.exports = router;
